package main

import (
	"fmt"
	"reflect"
)

type Blog struct {
	Name string
}

func (this *Blog) Test(a string) string {
	this.Name = a
	return this.Name
}

func main() {
	var o interface{} = &Blog{"xiaorui.cc"}
	v := reflect.ValueOf(o)
	fmt.Println(v)
	m := v.MethodByName("Test")

	fmt.Println(m)
	rets := m.Call([]reflect.Value{reflect.ValueOf("aa")})
	fmt.Println(rets)
	fmt.Println(reflect.TypeOf(rets[0]).String())
}